/*
 * ControladorBotonCajaNegra.cpp
 *
 *  Created on: 30/11/2009
 *      Author: luis
 */

#include "ControladorBotonCajaNegra.h"
#include "../Vista/VentanaInfo.h"

ControladorBotonCajaNegra::ControladorBotonCajaNegra(Cliente& cliente) {
	this->cliente = cliente;

}

void ControladorBotonCajaNegra::funcion_boton(){
	if (get_area()!=NULL){
		get_area()->actualizar_estado();
		VentanaIp ventana(cliente, get_area());
		int resultado = ventana.run();
		if (resultado == Gtk::RESPONSE_OK){
			int entradas;
			int salidas;
			/*
			 * Si encontro el circuito, agrega el elemento al area para posicionarla sobre ella
			 */
			if (cliente.obtener_datos(ventana.get_ip(), ventana.get_port(), ventana.get_nombre(), entradas, salidas)==true){
				get_area()->nuevo_elem_externo_aux(-1, -1, get_area()->get_id(), ventana.get_ip(), ventana.get_port(), &cliente, entradas, salidas, ventana.get_nombre());
				get_area()->set_estado(AGREGANDO_CAJA);
			}
			else{
				VentanaInfo circuito_no_importado("ERROR", "Circuito no encontrado");
				circuito_no_importado.run();
			}
		}
	}

}

ControladorBotonCajaNegra::~ControladorBotonCajaNegra() {

}
